package com.dragon.repository.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * <p>
 * 考勤配置
 * </p>
 *
 * @author sy
 * @since 2023-07-31
 */
@Getter
@Setter
@TableName("dragon_attendance_arrange")
public class AttendanceArrange implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 班次类型：1 固定班次 2自由班次 3外勤班次
     */
    private Integer shiftType;

    /**
     * 班次名称
     */
    private String shiftName;

    /**
     * 时间表list
     */
    @TableField(exist = false)
    private List<ArrangePeriod> periodList;

    /**
     * 人员表
     */
    @TableField(exist = false)
    private List<Integer> adminIds;

    /**
     * 用户部门集合
     */
    @TableField(exist = false)
    private List<AdminDepartment> adList;

    /**
     * 人员名称集合
     */
    @TableField(exist = false)
    private String adminNames;

    /**
     * 打卡日期
     */
    private String punchClock;

    /**
     * 开始打卡日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date beginTime;

    /**
     * 日期（周一到周日）
     */
    private String recurry;

    /**
     * 是否跳过法定节假日打卡： 0是 1否
     */
    private Integer automaticLeave;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    /**
     * 公司id
     */
//    private Integer companyId;


}
